package com.kelvin.oocl.crms.main;

import com.kelvin.oocl.crms.entity.Condition;
import com.kelvin.oocl.crms.entity.Customer;
import com.kelvin.oocl.crms.util.MyLinkList;

public interface ICustomerDao {
	
	/**
	 * 查找所有客户信息
	 * @return
	 */
	public MyLinkList<Customer> findAll();
	
	/**
	 * 根据名字查找
	 * @param name
	 * @return
	 */
	public MyLinkList<Customer> findByConditions(MyLinkList<Condition> conditions);
	
	/**
	 * 根据id查找
	 * @param id
	 * @return
	 */
	public Customer findById(Integer id);
	
	/**
	 * 添加客户
	 * @param customer
	 * @return
	 */
	public boolean add(Customer customer);
	
	/**
	 * 根据id删除
	 * @param id
	 * @return
	 */
	public boolean deleteById(Integer id);
	
	/**
	 * 根据id更新
	 * @param id
	 * @return
	 */
	public boolean updateById(Customer customer);
	
	/**
	 * 根据id排序
	 */
	public MyLinkList<Customer> sortById();
	
	/**
	 * 根据name排序
	 */
	public MyLinkList<Customer> sortByName();
}
